接下來我們就開始安裝和使用Django和Django Restframework。
如果讀者從沒使用過Django的話也沒關係,在使用到framework的基礎地方都會有簡單的說明和附上Django官方文件連結,有興趣進一步了解的讀者就可以自行深入研究。
預先條件:
首先必須確保你有一台unix機器,筆者是使用osx。接下來的範例也都會在osx上進行。
如果機器上沒有python2.7.x(雖然不太可能XD),請先安裝python2.7.x。*註1
如果沒有pip就裝一下吧: http://pip.readthedocs.org/en/latest/installing.html
pip是python的套件管理員,很好用BJ4。
virtualenv可以用來創造一個獨立的Python環境,在virtualenv的環境下安裝python套件會安裝到該環境下自己的資料夾中。可以讓你放心的亂搞一通也不必擔心機器被弄亂。
接下來我們開始準備環境吧!
我們先建立virutalenv的環境。
virtualenv env
source env/bin/activate
source env/bin/activate後就代表著現在這個shell已經是virtualenv的環境了,任何安裝的python套件都會裝在該環境下。
接下來安裝django和django restframework
pip install django
pip install djangorestframework
有pip的幫忙實在非常輕鬆。
接下來我們就開始新增Django project。
mkdir Test
cd Test
django-admin.py startproject bill_backend
cd bill_backend
還需要新增一個Django的App,這個App就是我們用來提供API的App啦:
python manage.py startapp backend_api
目前為止我們已經把Django的需要的東西都建立好了。
bill_backend是主project,backend_api是它的一個app。可以打開bill_backend/setting.py看一下預設的設定。
DATABASES預設是使用sqlite,所以請確認機器有sqlite。sqlite對於練習來說已經是非常夠用且方便的資料庫,當使用sqlite時,它就是一個檔案(在此是db.sqlite3,你也可以幫它換個名字)。你如果對它不爽,就直接把這個檔案砍了重來也不會有問題。
INSTALLED_APPS是我們需要更改的一個tuple,所有在這個project會使用到的app都需要在這個加上去,請加上rest_framework。
INSTALLED_APPS = (
...,
'rest_framework',
)
接下來設定這整個project的url,將url根點指向backend_api,打開bill_backend/urls.py。
Django的url dispatcher進入點是主project底下的urls.py(在此就是bill_backend/urls.py,可以看settings.py中的ROOT_URLCONF),它可以包含更多個不同app底下的url設定。*註2
urlpatterns = patterns('',
url(r'^', include('backend_api.urls')),
)
如此一來我們就完成了基本設定了,接下來就開始coding!
Day2 Ending
*註1: python和python packages們的CVE出的蠻頻繁的,如果是在產品上使用python,請確保在CVE出現時可以快速升級CVE patch和rebuild出產品使用的python並將機器升級。由於我們這邊只是練習用,所以用機器上預設的python2.7.x應該就足夠了。
*註2: 請參考:https://docs.djangoproject.com/en/1.7/topics/http/urls/